package main

import "fmt"

// 统计好三元组的数目
func countGoodTriplets(arr []int, a int, b int, c int) int {
	v := 0
	n := len(arr)
	for i := 0; i < n; i++ {
		for j := i + 1; j < n; j++ {
			ba := abs(arr[i]-arr[j]) <= a
			if !ba {
				continue
			}
			for k := j + 1; k < n; k++ {
				bb := abs(arr[j]-arr[k]) <= b
				bc := abs(arr[i]-arr[k]) <= c
				if bb && bc {
					v++
				}
			}
		}
	}
	return v
}

func abs(x int) int {
	if x < 0 {
		return -x
	}
	return x
}

// 解题思路： 直接暴力枚举，然后在第二个循环提前判断是否满足条件
func main() {
	arr := []int{3, 0, 1, 1, 9, 7}
	a := 7
	b := 2
	c := 3
	v := countGoodTriplets(arr, a, b, c)
	fmt.Println(v)
}
